Geralmente, o seu shell irá preferir o seu próprio builtin sobre qualquer programa externo. Uma pegadinha notável em relação a isso é quando você definiu um alias para o comando.
Estou perguntando especificamente sobre o FreeBSD. Eu estou usando o padrão / bin / csh como meu shell. Existe uma versão binária do echo em / bin / echo e existe um comando echo embutido no shell. O comando do sistema não tem a capacidade de usar caracteres de escape invertidos no estilo System V, como:
\n
\t
Eu quero poder preferir o builtin do shell em vez do comando do sistema sem fazer uma alteração temporária no caminho ou excluir / bin / echo.