The space needed will be about the size of the clustered index and a little more.
You should probably allow enough free space equal to the size of the current table and a bit more.
An additional item to consider is that a rebuild will need about an equal amount to space or more in the transaction log.
If you are short on space, you should consider doing a defrag instead of a rebuild. It will still generate a log of transaction log usage, but you can keep that under control by doing transaction log backups very often while the defrag is running, say every 5 minutes.