Como evito que o bash use um comando interno?

Estou tentando corrigir um script que usaecho, que está usando o comando embutido em vez do comando, como posso evitar isso?

Eu sei que posso fazer/bin/echo para forçar o uso disso, mas eu não gostaria de codificar o caminho (para portabilidade).

Eu pensei em usar algo como:

$ECHO=`which echo`
$ECHO -e "text\nhere"

maswhich echo retorna: "eco: comando interno do shell".

Acabei definindo umecho função que usaenv como a @Kenster recomenda. Dessa forma, não preciso modificar as chamadas para ecoar no script.

echo() {
  env echo $*
}

# the function is called before the built-in command.
echo -en "text\nhere"