Pode haver uma maneira mais clara de fazer isso, mas, se eu entendi corretamente, isso deve funcionar:
useradd -G $(groups | tr ' ' ',') newuser
Os grupos fornecem uma lista dos grupos aos quais o usuário atual (ou um usuário diferente, se especificado) pertence, separados por espaços. tr converte os espaços em vírgulas, pois é isso que o usuário espera.