This is simple if you know the right tools:
ffmpeg -i infile.m4a tmp.wav
lame tmp.wav outfile.mp3
Here a batch version (sorry Linux/Mac only):
#!/bin/bash
n=0
maxjobs=3
for i in *.m4a ; do
ffmpeg -i "$i" "$TMP/${i%m4a}wav"
(lame "$TMP/${i%m4a}wav" "${i%m4a}mp3" ; rm "$TMP/${i%m4a}wav") &
# limit jobs
if (( $(($((++n)) % $maxjobs)) == 0 )) ; then
wait
fi
done