Você pode usar find
para listar arquivos executáveis:
find /foo -type f -executable
Você pode então usar a opção -exec
para criar o link.
-exec command ;
Execute command; true if 0 status is returned. All following
arguments to find are taken to be arguments to the command until
an argument consisting of ';' is encountered. The string '{}'
is replaced by the current file name being processed everywhere
it occurs in the arguments to the command [...]
Então, para criar um link em ~/bar
para cada arquivo executável em ~/foo
, você faria
find ~/foo -type f -executable -exec ln -s {} ~/bar \;
Observe que isso não está procurando por arquivos binários, simplesmente para aqueles que têm o bit executável definido.