Bonjour,
j'utilise un execvp dans un programme pour executer une commande bash : où c-> un tableau de char *
Le programme fonctionne parfaitement bien lorsque c->nom contient un nombre pair d'argument (par exemple {"echo","123"} ou {"ls","-l"})
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 int exec_commande(commande * c) { int ret=fork(); switch (ret) { case 0: execvp( (c->nom)[0], c->nom ); break; default: wait(NULL); break; } return 0; }
Mais le execvp n'execute pas la commande lorque le nombre d'argument de c->nom est imapair (par exemple {"echo","123","456"})
Je rage sur mon code qui est l'un des plus propre que j'ai eu à faire dans ma courte vie. J'espère que vous pourrez m'aider.
Partager