Use the Source, Luke!

static char *envp[] = { "HOME=/", "TERM=linux", "PATH=/sbin:/usr/sbin:/bin:/usr/bin", NULL };


As for exec, it's simply a way to save memory, by having the shell do a exec() system call directly to run your command, rather than first forking off a child process to do it. Not having the shell active in memory means more RAM available for your app.

Cheers