В чем фишка? Нашел какой-то костыль, но ничего не понял:
#!/bin/bash
THREADS=15
while true
do
if [ `pgrep -f $1 | wc -l` -lt $THREADS ];
then
if read value;
then
$value &
echo ran instance $!
else
exit 0;
fi
else
sleep .5
fi
done