Assuming you're using ArcGIS 9.3, get the free Hawth's analysis tools extension for ArcGIS, and use the Zonal Statistics ++ tool. Make sure the shapefile is in the same projection as the raster.
From having just looked at the Hawth's tools website for the first time in ages to get the links, I've just seen they're putting all their efforts into developing Geospatial Modelling Environment, which may also do the job, though I haven't tried it.
Lastly, you could do the calculations manually. There are two options:
- Turn the raster into a polygon, run an intersect with the boundaries, and calculate areas based on the results. This works well if there aren't a lot of raster classes, or the size of the polygon isn't very large in comparison to cell size.
- Turn the polygon into a raster with the same cell size and origin as the original raster and run a combine. Works well if there are lots of raster classes, but only if the original polygons are at all points substantially greater than cell size.
Potentially as well you could take the 2nd option and re-sample the original raster into smaller pixels if you are worried about data loss through polygon size and shape (make sure to keep cell sizes as factors of the original cells to avoid data loss).