You can redirect all you want to
echo but it won't do anything with it.
echo doesn't read its standard input. All it does is write to standard output its arguments separated by a space character and terminated by a newline character (and with some
echo implementations with some escape sequences in them expanded).
If you want
echo to display the content of a file, you have to pass that content as an argument to
echo. Something like:
echo "$(cat my_file.txt)"
$(...) strips the trailing newline characters from the output of that
cat command, and
echo adds one back.
Also note that except with
zsh, you can't pass NUL characters in the arguments of a command, so that above will typically not work with binary files.
If the reason for wanting to do that is because you want
echo to expand the
\0351... escape sequences in the file (as Unix conformant
echo implementations do, but not all), then you'd rather use
printf '%b\n' "$(cat my_file.txt)"
echo, that one is portable and won't have problems if the content of the file starts with