C - l'Exécution des Commandes Bash avec Execvp

Je veux écrire un programme Shellcode.c qui accepte en entrée un fichier texte qui contient des commandes bash separeted par un saut de ligne, et exécute toutes les commandes dans le fichier texte: par exemple, le fichier texte doit contenir:

echo Hello World
mkdir goofy   
ls

J'ai essayé celui-ci (juste pour commencer à pratiquer avec l'une des fonctions exec):

#include <stdio.h>
#include <unistd.h>

void main() {
    char *name[3];

    name[0] = "echo";
    name[1] = "Hello World";
    name[2] = NULL;
    execvp("/bin/sh", name);
}

- Je obtenir, en retour,

echo: Can't open Hello World

Je suis coincé avec la execvp fonction, où j'ai fait de mal?

Ce qui se passe avec nom[0] = "/bin/sh"; nom[1] = "echo"; nom[2] = "Bonjour le Monde"; nom[3]=NULL?

OriginalL'auteur elmazzun | 2013-01-03