Com um palpite (não sou especialista em unix, mas tive um problema parecido com trabalhos cron não executados), em que usuário você está executando a tarefa? Esse usuário tem todas as permissões necessárias para acessar tudo o que você precisa?
Eu suspeito que não (o tipo de erro diz isso! :-D).
Se você sair do usuário que está trabalhando e fizer login como um usuário diferente, o script bash ainda funcionará? Se não, então isso ajuda.
A solução que usamos foi para executar a tarefa como um usuário específico.
Existem várias maneiras de fazer isso, parece (não existem sempre). Não posso comentar sobre os méritos de um sobre o outro - isso será para você decidir. Como especificar em crontab por qual usuário executar roteiro?