Você não tem o cabeçalho <stdlib.h> e, incluindo-o, você perceberá que o compilador informa que a função da biblioteca system() usa apenas um único argumento, uma string.
Você não tenta limpar os dados fornecidos pelo usuário. Inserindo [email protected]"; rm -rf /; : " (ou algo semelhante) como o destinatário não terminaria bem. Não faça isso.
A validação de entrada e a prevenção de explorações por meio do system() ao usar dados fornecidos pelo usuário é difícil .
Relacionado: link