The very first vector in the table is for the RESET interrupt, the second vector in the table is for the COPReset int. Depending on your design, the RESET interrupt may end up forcing your hardware to perform a hard reset and begin executing from the bootloader again anyway.
I believe that you can change the CPU vector table address to what you wish by doing:
/* interrupt vector base address change to Program Space P:0x?0000 */
/* memory locations/addresses are processor specific */
/* on 56F8367 INTC_VBA *((volatile word 8) 0x0000F1AA) */
/* my_vector_addr can be created by you, or if default generation by */
/* CW toolset it is _vector_addr at start of interrup_vectors section defined in */
/* the project's linker .CMD file and the default Reset vector is the address */
/* of _EntryPoint (which is the CW tool-generated initialization routine called */
/* before main() */
NewInterruptVectorTable = (UInt32)&my_vector_addr;
setReg(INTC_VBA, (NewInterruptVectorTable>>8));
If you have the stationery templates and example codes installed you can look at a bootloader example project for more on how the interrupt vector tables can be adjusted. Note that the Vector Base Address register code above assumes the vector table is aligned on memory space boundard with lower8 address bits = 0.
When my bootloader code has loaded a new application program code, the application flash is mapped to address 0x00000000. So, my vector table for the application code is at this address. After the bootloader finishes its thing it changes the vector base address from its table in boot flash space to the address in program flash space using the code above, but using my_vector_addr= 0x0000000 as described.
Hope that this is helpful.