Talvez seja assim:
#!/usr/bin/env bash
clear
IFS=: read -r -a paths <<<"$PATH"
read -p "type a command: " cmd
read -d ' ' file <<<"$cmd" #the first component of command
for path in "${paths[@]}"; do
[ -x "$path/$file" ] && eval "$path/$cmd"
done
Isso basicamente executa o comando inserido para cada resolução de PATH possível.