O erro foi:
rc=$( curl ... )
Isso me deu o código http de volta porque eu preenchi $rc com o stdout de curl. Eu tenho que preencher rc com $? depois.
Depois de alterar meu código para:
httprc=$( curl ...)
rc=$?
Eu recebi os dois códigos de "retorno". Graças a meuh !