Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1#include <unistd.h> 2#include <stdlib.h> 3#include <assert.h> 4 5int main(int argc, char **argv) { 6 char **argv_tmp = calloc(4 + argc + 2 + 1, sizeof(*argv_tmp)); 7 assert(argv_tmp != NULL); 8 argv_tmp[0] = argv[0]; 9 argv_tmp[1] = "-x"; 10 argv_tmp[2] = "-y"; 11 argv_tmp[3] = "-z"; 12 argv_tmp[4] = "-abc"; 13 for (int i = 1; i < argc; ++i) { 14 argv_tmp[4 + i] = argv[i]; 15 } 16 argv_tmp[4 + argc + 0] = "-foo"; 17 argv_tmp[4 + argc + 1] = "-bar"; 18 argv_tmp[4 + argc + 2] = NULL; 19 argv = argv_tmp; 20 21 argv[0] = "/send/me/flags"; 22 return execv("/send/me/flags", argv); 23}