История изменений
      
        Исправление
      sambist,
      
        (текущая версия)
      :
    
#include <stdio.h>
#include <unistd.h>
void main() {
    char *name[] = {
        "/bin/bash",
        "-c",
        "echo 'Hello World'",
        NULL
    };
    execvp(name[0], name);
}
Не забудь, что execvp заместит процесс бинаря, поэтому делай fork, если нужно запустить несколько.
      
        Исправление
      sambist,
      :
    
#include <stdio.h>
#include <unistd.h>
void main() {
    char *name[] = {
        "/bin/bash",
        "-c",
        "echo 'Hello World'",
        NULL
    };
    execvp(name[0], name);
}
      
        Исходная версия
      sambist,
      :
    
include <stdio.h>
#include <unistd.h>
void main() {
    char *name[] = {
        "/bin/bash",
        "-c",
        "echo 'Hello World'",
        NULL
    };
    execvp(name[0], name);
}