O $
no começo da string em:
echo $'Hello World\nThis is a new line'
faz com que as seqüências de escape sejam interpretadas.
Manual de referência de bash [diz]
Words of the form $'string' are treated specially. The word expands to
string, with backslash-escaped characters replaced as specified by the
ANSI C standard.
..
..
The expanded result is single-quoted, as if the dollar sign had not been present.
Mas
echo $"Hello World\nThis is a new line"
é completamente diferente. Este [artigo] em tradução específica para localidade diz:
A double-quoted string preceded by a dollar sign (‘$’) will cause the
string to be translated according to the current locale. If the
current locale is C or POSIX, the dollar sign is ignored. If the
string is translated and replaced, the replacement is double-quoted.
Observação: o IIRC $'string'
e $"string"
podem não encontrar suporte entre diferentes shells. Não só as pessoas de outros shells olham para elas com curiosidade, mas também debatem se isso poderia ser evitado para a portabilidade do script.