Generally script means it's plain-text code that is then interpreted or compiled when run. A program can be a script and a script can be a program, but normally you would call something a script when it's not very big or complicated.
more /usr/bin/libtool
more /usr/bin/automake
more /usr/bin/autoconf
more /usr/bin/updatedb
There are lots of things that you think of as programs which are actually scripts.
As far as the difference between a scripting and programming language -- a scripting language is a programming language, but a programming language is not necessarily a scripting language. Generally in a "programming language," (say, C) you write some code, and then a compiler (say, gcc) compiles it, a linker (say, ld) links it to required libraries, and then you execute it as a binary. With a script, you write your script, and then you run it under its interpreter, and the interpreter handles all of the stuff involved in making your script actually do things with the computer. This is all done on the fly, so it's slower than a compiled language, but it is generally faster to develop, and usually adequate speed-wise.