The real MD5 of "Hello World" is : b10a8db164e0754105b7a99be72e3fe5Tests on http://www.md5.fr/ and verification with the RFC of MD5
The MD5 obtained with md5.c compiled linux of "Hello World" is :
./md5 -s"Hello World"
MD5 ("Hello World") = f2877a72c4494318c4b5bb436c582
The MD5 got with your command is :
echo "Hello world" | md5sum
The MD5 of "Hello World" with my script :
./mymd5sum.sh -s "Hello World"
Le MD5 de "Hello World" donne : e59ff97941044f85df5297e1c302d260
So, there is a problem. I know that md5.c doesn't answer the same thing with my linux, cause of the endianess. But, with your command, I should find at less one of the two posible correct MD5 :/ (Note that my command is also wrong and different...).
(My real probleme is : I want to find the correct MD5, like it is in the RFC. I try by compiling the source in C, but the endianness of my system blocks me. So, I want to try by using md5sum, because md5sum is not affect by the endianess of any PC, but I but for now I can't.)
Thanks for your help