xargs raramente é útil, porque espera entrada citada de uma maneira altamente peculiar que nenhuma ferramenta comum produz. E como você notou, mycommand $(find …) não é bom, porque primeiro concatena todos os nomes de arquivos e depois divide no espaço em branco.
Use o -exec primary de find para executar md5 sem nenhum shell intermediário que exija aspas. Se a sua implementação de find for razoavelmente atual, você poderá fazer com que o xargs seja famoso, o que é invocar o programa md5 uma vez por lote de argumentos.
find /root/newdir -type f -exec md5 {} +
Se o seu find não for compatível com -exec … {} + , substitua o + por \; . Isso faz com que find invoque md5 para cada arquivo por vez. É um pouco mais lento, mas está disponível em todos os lugares.