#!/bin/bash MAX_FORKS=$1 shift FORKS=0 for HOST in $@; do if [ ${FORKS} -ge ${MAX_FORKS} ]; then wait FORKS=0 fi (single_host.sh ${HOST}) & FORKS=$(( ${FORKS} + 1 )) done wait