diff --git a/lix/libutil/processes.cc b/lix/libutil/processes.cc index aa692d4c3..79bacf6b8 100644 --- a/lix/libutil/processes.cc +++ b/lix/libutil/processes.cc @@ -401,7 +401,7 @@ RunningProgram runProgram2(const RunOptions & options) #endif Strings args_(options.args); - args_.push_front(options.program); + args_.push_front(options.argv0.value_or(options.program)); restoreProcessContext(); diff --git a/lix/libutil/processes.hh b/lix/libutil/processes.hh index 8d9fe5c29..3293016b6 100644 --- a/lix/libutil/processes.hh +++ b/lix/libutil/processes.hh @@ -83,6 +83,7 @@ struct RunOptions Path program; bool searchPath = true; + std::optional argv0; Strings args = {}; std::optional uid = {}; std::optional gid = {};