What are you using? Slackware?
I see this is how it is in Centos 7. But Centos 7 uses capabilities, instead of setuid. And I guess the read permissions are useless, nonetheless.
Code:
[root@domain ~]# ls -l /bin/ping
-rwxr-xr-x 1 root root 66176 Aug 4 2017 /bin/ping
[root@domain ~]# getcap /bin/ping
/bin/ping = cap_net_admin,cap_net_raw+p
But yeah, good point about cp, didn't think of that in this context, although I've come across the problem when I really needed to preserve permissions