Status de saída diferente de zero para saída limpa

É aceitável retornar um código de saída diferente de zero se o programa em questão foi executado corretamente? Por exemplo, digamos que eu tenha um programa simples que (somente) faça o seguinte: Programa recebe N argumentos. Retorna um código de saída min (N, 255). Observe que qualquer N é válido...