Depois de obter ajuda para depurar e testar a solução da Phlogi sem sucesso, decidi voltar ao crontab original e adicionar código para aguardar a interface de rede estar pronta. Aqui está o que o script parece agora:
#!/bin/sh
while ! ping -c 1 -W 1 bitbucket.org; do
echo "Waiting for bitbucket - network interface might be down..."
sleep 1
done
cd /home/pi/code && /usr/bin/sudo -u pi -H git checkout master && /usr/bin/sudo -u pi -H git up
/usr/bin/sudo -u pi -H /home/pi/.nvm/v0.11.11/bin/forever start /home/pi/code/server.js