O GNU Parallel é feito para isso.
seq 1 1000 | parallel -j20 do_something
Pode até executar trabalhos em computadores remotos. Aqui está um exemplo para recodificar um MP3 para OGG usando server2 e computador local executando 1 trabalho por núcleo de CPU:
parallel --trc {.}.ogg -j+0 -S server2,: \
'mpg321 -w - {} | oggenc -q0 - -o {.}.ogg' ::: *.mp3
Assista a um vídeo de introdução ao GNU Parallel aqui: