Ti da errore perché quando fai il controllo pid contiene il valore dell'ultimo processo generato.
Se il primo a terminare non è l'ultimo che hai creato allora entra nell'if. Fatto cosi ti va bene soltanto se termina per primo l'ultimo processo creato.

Fai

if (wait(&status)==-1)
{
printf("Wait error");
exit 1;
}
exit 0;

Dovrebbe funzionare credo