Como paralelizar o loop for no número limitador de processos do bash

Eu tenho um script bash semelhante a:

NUM_PROCS=$1
NUM_ITERS=$2

for ((i=0; i<$NUM_ITERS; i++)); do
    python foo.py $i arg2 &
done

Qual é a maneira mais direta de limitar o número de processos paralelos a NUM_PROCS? Estou procurando uma solução que não exija pacotes / instalações / módulos (como o GNU Parallel), se possível.

Quando tentei a última abordagem de Charles Duffy, obtive o seguinte erro do bash -x:

+ python run.py args 1
+ python run.py ... 3
+ python run.py ... 4
+ python run.py ... 2
+ read -r line
+ python run.py ... 1
+ read -r line
+ python run.py ... 4
+ read -r line
+ python run.py ... 2
+ read -r line
+ python run.py ... 3
+ read -r line
+ python run.py ... 0
+ read -r line

... continuando com outros números entre 0 e 5, até que muitos processos foram iniciados para o sistema manipular e o script bash foi desligado.

questionAnswers(4)

yourAnswerToTheQuestion