Warum läuft printf before exevp nicht?

Ich erhalte eine Ausgabe von "hi!". Warum druckt das nicht auch "etwas"?

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

int main(int argc, char** argv) {
    char* program_name = "echo";
    char* args[]= {program_name,"hi!",NULL};

    printf("something");
    execvp(program_name,args);
    return 0;
}

Ich weiß, dass ich nicht zuerst einen untergeordneten Prozess erstelle. Wenn ich die execvp-Zeile herausnehme, funktioniert es wie erwartet. Seltsam. (Hinweis: "Echo" bezieht sich aufhttps: //en.wikipedia.org/wiki/Echo_ (Befehl))

Antworten auf die Frage(2)

Ihre Antwort auf die Frage