Switching 12 Volt Relay with 5 volt Arduino Output
Simplest way is to use a resistor in series with the relay coil and equal to the coil's resistance. 

Its power rating should be greater (twice isn't a bad number) than 6 volts times the relay coil current, and the catch diode should go from Q1 collector to +12 volts.

UPDATE:

Considering the edits to your question, it seems like that'll work, so let's find out. :)

The relay coil takes about 53 mA with 12 volts across it, so forcing a beta of  around 10 (accepted engineering practice to ensure saturation) from Q1 would require its base current to be around 5 milliamperes.

If you figure a \$V_{BE} (sat)\$ of around 1 volt, then to get 5mA into the base R1 would have to drop 4 volts at 5 milliamperes.

Then, since \$ R = \frac{E}{I}\$,

$$ R1 = \frac{4V}{0.005A} = 800\text { ohms}$$

Your 1000 ohms would force 4 milliamperes into the base, so with a load of 50 milliamperes on the collector, R1 would have a current gain (\$\beta\$) of:

$$ \beta = \frac{Ic}{Ib} = \frac{50mA}{4mA} = 12.5 $$

Since most jellybean NPNs sport a natural beta far greater than that, at that collector current, almost any transistor you choose for Q1 will work. 

And, since the Arduino should have no problem sourcing 5mA at 5 volts out, the circuit should work, no problem.