No single Pokémon learns all three of those moves (besides Mew, of course). Charizard, Farfetch'd, and Skarmory learn Cut and Fly. There are plenty of Pokémon that learn Cut and Flash. Hoothoot/Noctowl, Togetic, and Xatu learn Fly and Flash.
If you only want to use one other Pokémon, determine which HM moves you deem the most necessary. Fly and Flash are not required to beat the game, although they are very convenient. Cut is only necessary maybe, two times, but it opens up paths to many useful items.
If you have more than one GSC game and GBC, I think you can use the Trainer House to make Smeargle learn the HM moves. Just make the other game's team consist of one Pokemon with only the desired HM move in its moveset and you should be able to make Smeargle learn it. You can only do one per day iirc and it can be a pain, but if this method works you'll get it eventually.
If you don't have another GSC game and GBC then I don't know, sorry.