io proverei così
codice:
#include <stdio.h>
#include <sys/types.h>
int main () {
//id_ut,id_mes sono le mie variabili long
//u_cont è un int
//sono questi i parametri che devo passare
static char *argv[4] ;
static char arg0[] = "a.out";
static unsigned long id_ut = 9999999;
static unsigned long id_mes = 8888888;
static unsigned int u_cont = 102;
pid_t pid=fork();
switch(pid){
case 0:
/* Questo e' il processo figlio */
argv[0] = arg0;
argv[1] = ( char * ) &id_ut;
argv[2] = ( char * ) &id_mes;
argv[3] = ( char * ) &u_cont;
argv[4] = NULL;
execv( "../Client/a.out", argv);
/*
* Se il controllo e' giunto qui allora si e' verificato
* un errore nella chiamata execv().
*/
break;
}
}