Я предполагаю, что вы do хотите дождаться завершения процессов, но вы хотите запускать процессы параллельно, а не последовательно. Если это так, запускайте каждый процесс, как сейчас, а затем используйте системный вызов waitpid()
для каждого дочернего pid. После завершения каждого процесса будет возвращен каждый waitpid.