Há um usuário bin com home /bin :
$ getent passwd bin
bin:x:1:1:bin:/bin:/bin/false
Agora, ~bin refere-se ao diretório inicial do usuário bin que é /bin e contém todas as muitas milhas de comandos.
Da mesma forma, ~etc não funciona, porque não há usuário etc.