Em vez de elevar, você poderia apenas sudo , quando necessário; então no seu script:
...
sudo cp ...
cd /var/www/project
sudo npm install
Você pode usar
set -e
no início do seu script para fazer com que qualquer erro pare o script, o que teria o efeito desejado na linha 3. Não sei por que você precisa do wait lá; git pull só retornará quando terminar de trabalhar.