Com relação à pergunta - por que isso acontece - a página de manual que explica é crontab(5)
, IOW a que pode ser acessada através de man 5 crontab
(não a padrão na seção 1). O daemon do cron não tenta emular uma sessão de shell, em vez disso, configura um ambiente limpo e mínimo para que as tarefas do cron sejam executadas e, por sua vez, permite que o arquivo crontab configure suas próprias variáveis de ambiente arbitrárias. O daemon cron mais recente fornecido com o Debian também possui várias provisões adicionais para pam_env
etc.