A ligação Ethernet requer que ambas as extremidades do link suportem interfaces ligadas e devem fazer parte do mesmo espaço de rede. Normalmente, a ligação só é feita até um computador ao comutador mais próximo. Você não pode unir duas rotas diferentes à Internet. Seu cartão 3G vai ter um endereço de sua operadora de celular e seu Wi-Fi de algum outro provedor. Você não tem controle sobre o lado distante deles e como o tráfego é roteado para você, então a ligação está fora de questão.
Você pode configurar sua máquina para usar as interfaces como um failover. Normalmente o NetworkManager cuida disso muito bem por padrão. Se alguém morre, configura as rotas para usar a próxima conexão ativa.
Você pode configurar suas rotas para que algum tráfego use uma interface e outra. Por exemplo, tudo para o Google passou por cima de um e tudo para o StackExchange passou por cima do outro. Este é o roteamento em nível de IP no qual o Linux é realmente bom. Você também pode configurar algum tipo de serviço de cache de proxy como squid
para fazer conexões de saída de estilo round-robin. Isso é um pouco mais complicado e, para um único ambiente de usuário, provavelmente resultaria em uma perda líquida de velocidade utilizável geral.
* Note que esta matemática não funciona da mesma maneira quando você tem uma rede real. Uma interface 1000 e 100 pode ser conectada para obter 1100, mas isso somente quando feito no nível do pacote e as latências são comparáveis. Ao usar soluções hackeadas de baixo custo para expandir a largura de banda da Internet, outros fatores acabam com o ganho rapidamente.