потому что переменные_окружения/юзер разные.
на это явно намекает nvm: not found
sh: 1: явно намекает, что "Если выполнить её из bash вручную - она выполняется как надо" – ни о чем: sh и bash – разные шеллы и имеют отдельные конфиги.
указывайте полный путь к вызываемым командам или запускайте код в идентичном окружении.