Ice is translucent so I believe the single most important thing you have to simulate in your shader to get realistic results would be subsurface scattering or SSS for short. SSS basically describes how rays of light penetrate the surface of translucent objects and scatter underneath it, being reflected multiple times in an irregular fashion, before finally exiting through a different location.
Here's a picture that I think demonstrates the effect nicely:
From the picture in your question we can also see that ice is quite reflective, so you'll probably also want to combine it with some sort of environment mapping for reflections, and also tone up the specularity in order to reinforce the highlights.
You can also try other things such as adding a bit of refraction, overlaying some sort of noise texture to add a bit of variation, or even some sort of bump mapping or displacement mapping for very small and subtle details.
Some other resources that I found while writing the answer: