summaryrefslogtreecommitdiffstats
path: root/bin/wrapper.sh
blob: 3a93475b7f4b88b4491b36bc8a170539a216d59e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
path_remove () {
    echo $PATH | tr ':' '\n' | grep -v "^$1\$" | tr '\n' ':'
}

quote(){
    sed -e "s,','\\\\'',g; 1s,^,',; \$s,\$,',;" << EOF
$1
EOF
}

save () {
    case "$1" in
    # when a string contains a "'" we have to escape it
    *\'*)
        saved="$saved $(quote "$1")"
        ;;
    # otherwise just quote the variable
    *)
        saved="$saved '$1'"
        ;;
    esac
}

exec_real () {
    eval set -- "$saved"
    scriptdir="$(dirname $0)"
    PATH="$(path_remove $scriptdir)"
    exec "$(basename $0)" "$@"
}