There is a behavioral difference between /bin/sh and /bin/bash. When called as /bin/sh, bash acts in a more /bin/sh compatible mode.
cron.daily is a bash shell script called another crontab entry, thus the different shells.
cron uses sh; if you want a cron job to use a different shell, add the #!/bin/bash interpret line to the shell script file the cron job calls. Eg:
$ crontab -l
#minute hour mday month wday command
58 */2 * * * /home/mrc/bin/dobackups
$ head -4 ~mrc/bin/dobackups