While trying watch bash -c 'du -h /etc/passwd && df -h' it appears that the path to file was completely ignored, and instead du -h ran through the current working directory. Same result was observed when I ran watch bash -c 'stat /etc/passwd && df -h', and stat returned with stat: missing operand error. By contrast, using watch -e "command /path/to/file" or watch "command /path/to/file" works without issues.
Why doesn't watch bash -c 'du -h /etc/passwd && df -h' work then ? Is it watch's issue or bash's issue with argument splitting ?