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