+
+ dup2(2, 5);
+
+ char *args[] = { argv0, NULL };
+ char *envp[] = { ldpreload, "COLORED_STDERR_FDS=5,", NULL };
+
+ execve(argv[0], args, envp);
+ return EXIT_FAILURE;
+ } else if (!skip--) {
+ char *args[] = { argv0, NULL };
+ char *envp[] = { ldpreload, NULL };
+
+ dup2(5, 6);
+ close(5);
+
+ execve(argv[0], args, envp);
+ return EXIT_FAILURE;
+ } else if (!skip--) {
+ close(6);
+
+ char *args[] = { argv0, NULL };
+ setenv("COLORED_STDERR_FDS", "2,", 1);
+
+ execv(argv[0], args);
+ return EXIT_FAILURE;