como o argumento envp é passado para a chamada do sistema execve?

como o argumento envp é passado para a chamada do sistema execve?

Suponha que eu ligue

int execve(const char *filename, char *const argv[], char *const envp[])

onde eu malloceditei a memória envp, então como o programa filenameacessa o conteúdo dessa matriz quando execveapaga toda a memória anterior (incluindo heap)?

informação relacionada