Sounds like the humidity level is really low since it's taking so long and coming off in pieces. You may want to give him a bath and let him soak for a little while. Others with more experience will probably have better advice. My snake just shed for the first time under my care. I misted his enclosure a few times a day and kept a damp wash cloth on the screen to keep humidity between 60-80% from the moment I saw his belly turning pink. I woke up one morning and he shed completely in one piece during the night. Don't know how long it took him but it was less than 8 hours.