---
 st.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/st.c b/st.c
index e51fe15..fcfbb1a 100644
--- a/st.c
+++ b/st.c
@@ -689,14 +689,16 @@ execsh(char *cmd, char **args)
        if (args) {
                prog = args[0];
                arg = NULL;
-       } else if (scroll || utmp) {
-               prog = scroll ? scroll : utmp;
-               arg = scroll ? utmp : NULL;
+       } else if (scroll) {
+               prog = scroll;
+               arg = utmp ? utmp : sh;
+       } else if (utmp) {
+               prog = utmp;
+               arg = NULL;
        } else {
                prog = sh;
                arg = NULL;
        }
-       DEFAULT(args, ((char *[]) {prog, arg, NULL}));
 
        unsetenv("COLUMNS");
        unsetenv("LINES");
@@ -714,7 +716,7 @@ execsh(char *cmd, char **args)
        signal(SIGTERM, SIG_DFL);
        signal(SIGALRM, SIG_DFL);
 
-       execvp(prog, args);
+       execvp(prog, arg);
        _exit(1);
 }
 
-- 
2.26.0


Reply via email to