#! /bin/sh -e SCRATCH=scratch/$(basename $0 .sh) ./simple oldInterpreter=$(../src/patchelf --print-interpreter ./simple) echo "current interpreter is $oldInterpreter" if test "$(uname)" = Linux; then echo "running with explicit interpreter..." "$oldInterpreter" ./simple fi rm -rf ${SCRATCH} mkdir -p ${SCRATCH} newInterpreter=$(pwd)/${SCRATCH}/iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii cp simple ${SCRATCH}/ ../src/patchelf --set-interpreter "$newInterpreter" ${SCRATCH}/simple echo "running with missing interpreter..." if ${SCRATCH}/simple; then echo "simple works, but it shouldn't" exit 1 fi echo "running with new interpreter..." ln -s "$oldInterpreter" "$newInterpreter" ${SCRATCH}/simple if test "$(uname)" = Linux; then echo "running with explicit interpreter..." "$oldInterpreter" ${SCRATCH}/simple fi