Por que o printf antes do exevp não está sendo executado?

Eu recebo uma saída de "oi!". Por que isso também não está imprimindo "alguma coisa"?

#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;
}

Eu sei que não estou criando um processo filho primeiro. Se eu retirar a linha execvp, ela funcionará conforme o esperado. Esquisito. (Nota: "eco" refere-se ahttps://en.wikipedia.org/wiki/Echo_(command))

questionAnswers(1)

yourAnswerToTheQuestion