What are those "larger components"? The only larger thing is the relay, and most relays will fit on a breadboard.
This is how you control the relay (the coil is shown next to the diode), it assumes you can connect the 12V's ground to the Arduino's. Resistor, transistor and diode are normal, small components. This relay is just a few cm long, wide and high. It can switch 10A and 230V. If you tell us more about what you want to switch I can give you more directed advice.
edit re your shopping
The relay requires 90mA from your 5V power supply. That will add a couple of hundreds of mW in the Arduino's voltage regulator. At 12V in that would be 630mW, which is a pity. If you have 12V in it would have been better to use that for a 12V relay.
The TIP31 transistor is overkill. It's a power transistor, and they don't have very high \$H_{FE}\$ (the current gain). Next time go for a TO-92 general purpose transistor like the BC547. The BC547B variant has an \$H_{FE}\$ of minimum 200. Go for a high \$H_{FE}\$. This one is still OK at an \$H_{FE}\$ of 100, but I would take a safety factor, and calculate with 40. Then the base current has to be 90mA/40 = 2.25mA. A 1k\$\Omega\$ base resistor will give you 4.3mA, so that's OK.
1) The connection between the relay/pushbutton and Arduino ground isn't necessary to make the circuit work at you describe. You don't tell us anything about the PCB that the pushbutton is mounted to, so this ground connection may be required for the rest of your system to work or it may cause undesirable ground loops. Again, you don't share enough to comment, but I'd start without it.
2) The relay wiring may or may not be correct. You're connecting it the same way that the light bulb example uses the relay, so if the light bulb example works, your approach will work. However, the light bulb example is in conflict with the silkscreen on the board, which suggests that the relay contacts that you want (normally open) are the top leftmost terminal and the 3rd from the left (which you're currently using). The silkscreen does not show any connection to the 2nd from the left terminal, which you're currently using.
3) Andino Ghosh is absolutely right that contact bounce will likely be an issue. Depending on the design of the PCB that has the pushbutton on it, a small capacitor in parallel with the relay contacts may help (~1uF), but again without details on this half of your design it is tough to say for sure.
Best Answer
The right relay depends on what you want to switch and how fast. What voltage, current, etc...
You won't be able to drive it directly from the Arduino pin, as most general purpose relays require at least 150mW to switch which is >30mA @ 5V. You will need to use something like this:
The NPN can be just about any general purpose NPN (2N2222, BC337, etc) and the diode can be most general purpose diodes (1N4001 or similar) VCC is your +5V.
If you go to somewhere like Farnell, and use the parametric search to narrow down you options, you will get hundreds of choices, here is an example search with 5VDC general purpose relays capable of >10A and >250VAC selected.
EDIT
It seems this is to turn an ATX supply on by pulling the PC_ON (usually green) connection to ground. In this case the relay is a bit overkill, and a simple open collector NPN transistor circuit can be used:
The dotted area is inside the PC, so all you need is the NPN transistor (almost any general purpose will do) and the resistor (4.7kOhm is shown, but depending on the transistor gain, R1 can be between say, 50kOhm and 1kOhm - between 1kOhm and 10kOhm should work with just about anything though)
The R_pullup of 1kOhm is assuming about the worst case - it will probably be between 2kOhm and 10kOhm. The circuit as shown would work with a pullup down to around 100 ohms though if needed.