#include #include #include #include #include int main(const int argc, char **argv, const char **envp) { int i; for (i = 1; i < argc; i++) { char *val = strchr(argv[i], '='); if (!val) break; val[0] = '\0'; if (setenv(argv[i], val + 1, 1)) { fprintf(stderr, "env: %s\n", strerror(errno)); return 1; } } /* Print env */ if (i == argc) { while (*envp) puts(*envp++); return 0; } execvp(argv[i], argv + i); fprintf(stderr, "env: %s\n", strerror(errno)); return 1; }