First, try linking with libauto (-lauto). If that doesn't help you'll need to set up TimerBase by yourself, see into CreateMsgPort, CreateIORequest and OpenDevice. Once the timer.device unit is opened you can find the TimerBase from the iorequest's io_Device field [TimerBase = ioreq->io_Device;]
At clean up perform CloseDevice, DeleteIORequest and DeleteMsgPort.
PS. It's also possible to take a shortcut with timer.device and set up a fake iorequest for OpenDevice. While strictly speaking legal it's a bit confusing for a beginner and might give you some bad ideas on how to use exec devices.