This works in Classic and I don’t doubt it can work in retail. For reference, Right Action Bar 2 = MultiBarLeft. MultiBarLeftButton9 is the fourth button from the bottom of Right Action Bar 2. My warrior has a 2-h sword named Destiny in button 9, 1h mace (Mass of McGowan) in button 10, a shield (Jagged Obsidian Shield) in button 11 and a 1-h (The Shadowfoot Stabber) in button 12. The following macros either equip gear by name or by button.
This first macro allows me to fight mace and dagger or mace and shield depending upon which stance (Battle=1, Defensive=2) I’m in.
/cast [stance:1] Defensive Stance; Battle Stance
/equip Mass of McGowan
/equipslot 17 The Shadowfoot Stabber
/click [stance:2] MultiBarLeftButton11
This second macro allows me to switch between fighting with a 2-h xor dual wield.
/equip [noequipped: Destiny] Destiny
/cast Battle Stance
/stopmacro [equipped: 2h_weapon]
/click [noequipped:shields] MultiBarLeftButton10
/click [noequipped:shields] MultiBarLeftButton12
Adding a /targetnearestenemy should do the job or, if you use your mouse to target, just make the macro to add your 1-h and shield before attacking.