• # execle(...);

    Posté par . En réponse au message Lancer un programme, comment ?. Évalué à 3.

    J'ai pas compris ta question, mais bon...

    Dans la famille des fonctions exec*(), celles avec un « l » prennent une liste d'arguments (terminée par un NULL) et celles avec un « v » un tableau.

    Donc, remplaces ton execv() par un execl(), voire un execle() ;

    Maintenant, tu souhaites lancer ton programme sans passer par un shell, et pourtant, ... tu lances un /bin/sh ! Mais pourquoi donc ?
    La famille exec*() prend en premier paramètre le nom d'un fichier à exécuter.

    Pour les détails, voir man 3 exec

    Mais c'est du C, du vrai, pas du C++. En C++, je ne sais pas, il y a peut-être des front-end disponibles à ces fonctions.