allora ho creato un file eseguibile e l'ho chiamato nuovo ,ecco il testo:

#include <stdio.h>
#include <sys/types.h>
#include <sys/wait.h>

int main(int m)
{

printf("ciao io sono exec %d , %d , %d \n",getpid(),getppid(),m);


}

dopo di che eseguo una execl cosi:

execl("/home/nello/nuovo","nuovo","4",0);

e mi stampa :

ciao io sono exec 6689 , 6688 , 2

voi penserete vabbè sara il codice ascii di "4" invece no!!mi stampa sempre 2 anche se metto "s"

perchè?!