fn execvpeZ_expandArg0(comptime arg0_expand: Arg0Expand, file: [*:0]const u8, child_argv: anytype, envp: [*:null]const ?[*:0]const u8) ExecveError

Like execvpeZ except if arg0_expand is .expand, then argv is mutable, and argv[0] is expanded to be the same absolute path that is passed to the execve syscall. If this function returns with an error, argv[0] will be restored to the value it was when it was passed in.

Parameters

arg0_expand: Arg0Expand,
file: [*:0]const u8,
child_argv: switch (arg0_expand) {
        .expand => [*:null]?[*:0]const u8,
        .no_expand => [*:null]const ?[*:0]const u8,
    },
envp: [*:null]const ?[*:0]const u8,