Con sequenziale intendo che l'avvio di un client avviene dopo la terminazione del precedente. Facendolo con uno script basta semplicemente:

./client parametri
./client parametri1
./client parametri2

In questo modo se prima non termina l'esecuzione di un comando, il secondo non si avvia.

Con competitivo intendo che i client sono in esecuzione in contemporanea. Anche qui con uno script:

./client parametri &
./client parametri1 &
./client parametri2 &

L'attesa della terminazione di un comando non c'è con l'aggiunta dell'esecuzione in background.