Bootanimation command not recognized without root
It's because SELinux is enabled at the time.
Take a look at this. Let's pick sh as a comparison.
Note if you installed busybox then specify toolbox ls explicitly because SELinux-related functions in busybox is totally failing.  

root@android:/system/bin # toolbox ls -Z bootanimation sh
-rwxr-xr-x root shell u:object_r:bootanim_exec:s0 bootanimation
-rwxr-xr-x root shell u:object_r:system_file:s0 sh

and...

u0_a0@android:/system/bin $ toolbox ls -Z bootanimation sh
ls: bootanimation: Permission denied
-rwxr-xr-x root shell u:object_r:system_file:s0 sh