¿Existe una manera simple de limitar el número de processs secundarios que se ejecutan en paralelo?

Tengo un script bash que inicia varios processs rsync en paralelo. Me gustaría limitar el número de processs secundarios simultáneos pero no serializar todo el script.

Aquí hay una versión simplificada del guion actual:

#!/bin/bash ( flock -n 200 || exit 0 { for f in $(ssh $1 ls /var/images/) do rsync … & done wait } &> /var/log/my.log ) 200>/var/lock/my.lockfile 

Creo que --max-procs con --max-procs podría ser una solución, pero no entiendo cómo integrar eso con mi script. ¿Se puede hacer así, o hay una mejor manera?

 ssh "$1" "find /var/images -type f -print0" | xargs --null --replace --max-procs=X rsync "${1}:{}" /my/destination 

Debería hacer el truco.