It turns out the .aiff files from mounted audio CDs are nicely formatted -- they essentially wrap the 2352-byte block Red Book CD audio with a 2352-byte AIFF header. For some reason the audio samples are little-endian, but our UNIX friend dd is up to the task:
dd bs=2352 skip=1 conv=swab </Volumes/CD/1.aiff >out.raw
To rip the whole CD into a single file, I used this:
cd /Volumes/CD
for file in *.aiff; do dd bs=2352 skip=1 conv=swab
<$file; done >/tmp/out.raw
NOTE: The last two lines are one long line. Alternatively, pipe the output directly to another sound processor (encoder, sox, whatever); the output format is raw 16-bit big-endian stereo interleaved samples at 44.1 kHz.

