Tente manter o código dentro do mesmo programa e pule para ele com uma função e um caso como abaixo ...
echo -n "Enter command: "
read userCommand
case "$userCommand" in
[Ss] )
echo ''
searchWord
function searchWord {
#Enter code here
}
No entanto, se você realmente quer rodar arquivos separados, então outro comando que você pode pesquisar é usando 'grep' e obtendo a saída disso no script.
Se você armazenar um valor mágico dentro do cabeçalho do arquivo e, em seguida, usar o comando
x="$(find | grep -rl "MagicValue")"
./$x