Yes, barbarians can shove or grapple enemies to continue raging.
The description of the barbarian's Rage feature says:
Your rage lasts for 1 minute. It ends early if you are knocked unconscious or if your turn ends and you haven’t attacked a hostile creature since your last turn or taken damage since then. You can also end your rage on your turn as a bonus action.
To keep your rage from ending early, you have to either attack a hostile creature or take damage, between the end of your last turn and the end of your current turn.
As you point out, shoves are described as a "special melee attack":
Using the Attack action, you can make a special melee attack to shove a creature, either to knock it prone or push it away from you. If you're able to make multiple attacks with the Attack action, this attack replaces one of them.
Grappling is described the same way:
When you want to grab a creature or wrestle with it, you can use the Attack action to make a special melee attack, a grapple. If you're able to make multiple attacks with the Attack action, this attack replaces one of them.
Note that Rage doesn't say the attack has to "hit" - something that can only happen with attack rolls - which means it doesn't require attack rolls, so these special melee attacks are a valid way of attacking in order to keep raging.
Rules designer Jeremy Crawford unofficially confirms this on Twitter, in response to some confusion over grapples/shoves being attacks but not involving attack rolls:
Does a barbarian keep his rage if he uses his action to grapple if grappling is not an attack?
The grapple option in the Player's Handbook is an attack, but it uses an ability check in place of an attack roll.
Here he reiterates what's already stated in the rules: grapples and shoves are attacks, so attempting to grapple or shove a hostile creature does allow you to continue your Rage.