Se vendorscript.sh não usar um caminho absoluto para iniciar o programa screen , você poderá tentar manipular o $PATH antes da execução. Isso também pressupõe que $PATH não seja redefinido / manipulado em vendorscript.sh .
Por exemplo, criei um diretório /opt/vendor e criei um script de shell chamado screen :
#!/bin/bash
exec /usr/bin/screen -d -m "$@"
E em myscript.sh :
#!/bin/bash
PATH="/opt/vendor:$PATH"
source vendorscript.sh
Como /opt/vendor é o primeiro em $PATH , o vendorscript.sh usará meu script de wrapper em vez do binário screen . De acordo com man 1 screen :
-d -mStart screen in "detached" mode. This creates a new session but doesn't attach to it. This is useful for system startup scripts.
E o "$@" passa pelos argumentos restantes da invocação original.